home *** CD-ROM | disk | FTP | other *** search
/ Publication 4 / Publication_04_19xx_High-Tech_de_Side_B.d64 / wator (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  7KB  |  218 lines

  1. 10 rem ********************************
  2. 11 rem *                              *
  3. 12 rem *  wator version v1.0          *
  4. 13 rem *  08.04.1985                  *
  5. 14 rem *                              *
  6. 15 rem *  siegmar kutscker            *
  7. 16 rem *  sachsenheimer weg 5         *
  8. 17 rem *  d-74354 besigheim           *
  9. 18 rem *                              *
  10. 19 rem *  anleitung im prg enthalten! *
  11. 20 rem *                              *
  12. 21 rem *  nach einer idee aus der     *
  13. 22 rem *  zeitschrift spectrum der    *
  14. 23 rem *  wissenschaft ausgabe 2/1985 *
  15. 24 rem *                              *
  16. 30 rem ********************************
  17. 40 poke 56,112:poke 55,0:rem basic bereich einschraenken
  18. 45 :
  19. 50 if peek(2) = 0 then poke 2,1: load "wator msp",8,1
  20. 60 rem definitionen der adressen
  21. 70 hp = 34816 :rem programm-start
  22. 75 zp = 36608 :rem ersatzzeropage
  23. 80 fa = zp + 116:rem fische anzahl
  24. 85 ha = zp + 118:rem haie anzahl
  25. 90 vf = zp + 120:rem vermehrungsalter fisch
  26. 95 vh = zp + 121:rem vermehrungsalter haie
  27. 100 hu = zp + 122:rem alter in dem haie verhungern
  28. 105 zu = zp + 6:rem zufallsgenerator
  29. 115 hu%=1:vh%=1:vf%=1:rem anfangswerte setzen
  30. 120 poke 53280,0:poke 53281,0 :poke 646,1:rem farbe setzen
  31. 130 print chr$(147):rem bildschirm loeschen
  32. 140 print:print:print:print:print:print:print
  33. 150 print"           [207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208] "
  34. 160 print"           [180]                  [170] "
  35. 170 print"           [180]    w a t o r     [170] "
  36. 180 print"           [180]                  [170] "
  37. 190 print"           [204][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][186] "
  38. 200 print:print:print:print:print tab(3) "wollen sie eine anleitung lesen?"
  39. 210 print:print tab(3) "(j/n)"
  40. 220 get t$:if t$ = "" then 220
  41. 230 if t$ =  "j" then gosub 16000:goto250
  42. 240 if t$ <> "n" then 220
  43. 250 gosub 10200
  44. 300 rem menue
  45. 301 poke 53280,0:poke 53281,0 :poke 646,8:rem farbe setzen
  46. 305 printchr$(147);:print tab(11)"zyklenanzahl:  " az:poke 646,1:print
  47. 310 print"fische vermehren sich nach      jahr(en)"
  48. 315 print:poke 646,7
  49. 320 print" haie  vermehren sich nach      jahr(en)
  50. 325 [153]:[153]:[151] 646,1
  51. 330 [153]"      wir haben derzeit         fisch(e)
  52. 335 poke 646,7
  53. 340 print"                    und         hai(e)
  54. 345 [153]:[151] 646,7
  55. 350 [153]"  die haie verhungern nach      jahr(en)
  56. 355 print:poke 646,5
  57. 360 print"          bitte waehlen sie:
  58. 365 [153]:[153]: [151] 646,14
  59. 370 [153]"    <1> anleitung
  60. 375 print:poke 646,3
  61. 380 print"    <2> aendern der parameter
  62. 385 [153]:[151] 646,4
  63. 390 [153]"    <3> fortfahren im programm
  64. 400 printchr$(19):print:poke 646,10
  65. 410 print tab(26) vf%
  66. 420 print:printtab(26) vh%
  67. 430 print:print:printtab(26) fa%
  68. 440 printtab(26) ha%
  69. 450 print:printtab(26) hu%
  70. 460 poke 646,1
  71. 500 get t$:if t$ = "" then 500
  72. 510 if t$ = "1" then gosub 16000:goto300
  73. 520 if t$ = "2" then gosub 10000:goto300
  74. 530 if t$ = "h" then gosub 18650:goto300
  75. 540 if t$<> "3"then 500
  76. 1000 poke zu,256*rnd(1)
  77. 1010 poke zu+1,256*rnd(1)
  78. 1020 if az=0 then sys hp
  79. 1030 sys hp+3
  80. 1040 if peek(zp+128)=0 then az=az+65536:goto 1030
  81. 1050 az = az + peek(zp+129) + peek(zp+130)*256+1
  82. 1060 fa% = peek(fa)+peek(fa+1)*256
  83. 1070 ha% = peek(ha)+peek(ha+1)*256
  84. 1100 goto 300
  85. 9000 stop
  86. 10000 printchr$(147):poke 646,1:ug =0:og=512:i=fa%:
  87. 10005 print"ohne eingabe bleiben die alten werte    erhalten":print:print:print
  88. 10010 print"bisher hatten wir "i "fische":print
  89. 10020 print"wieviele in zukunft":gosub15000
  90. 10030 print:fa% = i
  91. 10040 ug = 0:og = 512 -fa%:i = ha%
  92. 10050 print"bisher hatten wir "i "haie":print
  93. 10060 print"wieviele in zukunft":gosub15000
  94. 10070 print:ha% = i
  95. 10080 ug = 1:og = 255
  96. 10090 print:print:print"bisher vermehrten sich fische nach"
  97. 10100 print"dem "vf%" ten jahr"
  98. 10110 print"nach wievielen jahren in zukunft"
  99. 10120 i = vf%:gosub 15000:vf%=i
  100. 10130 print:print:print"bisher vermehrten sich haie nach"
  101. 10140 print"dem "vh%" ten jahr"
  102. 10150 print"nach wievielen jahren in zukunft"
  103. 10160 i = vh%:gosub 15000:vh%=i
  104. 10170 print:print:print"bisher verhungerten  haie nach"
  105. 10180 print"dem "hu%" ten jahr"
  106. 10190 print"nach wievielen jahren in zukunft":i=hu%:gosub15000:hu%=i
  107. 10200 poke vh,vh%-1:w = vh%-1:gosub 11000:poke vh+3,w1
  108. 10210 poke vf,vf%-1:w = vf%-1:gosub 11000:poke vf+3,w1
  109. 10220 poke hu,hu%-1:w = hu%-1:gosub 11000:poke hu+3,w1
  110. 10240 poke ha+1,int(ha%/256)
  111. 10250 poke ha,ha%-int(ha%/256)*256
  112. 10260 poke fa+1,int(fa%/256)
  113. 10270 poke fa,fa%-int(fa%/256)*256
  114. 10280 az = 0
  115. 10300 return
  116. 11000 w1=0
  117. 11010 if w1<w then w1 = w1+w1+1:goto11010
  118. 11020 return
  119. 14500 stop
  120. 15000 input i
  121. 15100 i=int(i)
  122. 15200 if ug <= i and og >=i then return
  123. 15300 print:print"wert zwischen " ug" und "og "eingeben!":goto 15000
  124. 16000 rem  anleitung
  125. 16050 print chr$ (147):print:print:print
  126. 16100 print tab(12) "*********"
  127. 16150 print tab(12) "* wator *"
  128. 16200 print tab(12) "*********"
  129. 16250 print:print
  130. 16300 print tab(5) "ist ein sehr interessantes":print
  131. 16350 print tab(5) "simulationsprogramm.":print
  132. 16400 printtab(5)"simuliert wird ein oekosystem, in":print
  133. 16450 printtab(5)"dem sich zwei verschiedene arten":print
  134. 16500 printtab(10)"von tieren tummeln:":print
  135. 16550 printtab(11)"haie und fische.":print:print:print
  136. 16600 gosub 21000:print
  137. 16650 printtab(5)"jedes tier kann sich bewegen und":print
  138. 16700 printtab(5)"sich vermehren, wobei die":print
  139. 16750 printtab(5)"haie versuchen, die fische zu":print
  140. 16800 printtab(5)"fressen. nahrung fuer die fische":print
  141. 16850 printtab(5)"gibt es im ueberfluss.":print
  142. 16900 printtab(5)"findet ein hai eine zeit lang":print
  143. 16950 printtab(5)"keinen fisch, so verhungert er.":print
  144. 17000 printtab(5)"lebensraum ist ein see, der in":print
  145. 17050 printtab(5)"der form eines torusses gekruemmt":print
  146. 17100 printtab(5)"ist. daher der name 'wator'.":print
  147. 17110 print:print:gosub 21000
  148. 17120 fori=0to10:print:next
  149. 17200 printtab(5)"mehr zu diesem thema finden sie":print
  150. 17230 printtab(5)"im spektrum der wissenschaft":print
  151. 17260 printtab(15)"2/85.":fori=0to10:print:next:gosub 21000:
  152. 17265 for i=1to 20:print:next
  153. 17270 printtab(5)"von ihnen koennen 5 verschiedene":print
  154. 17300 printtab(5)"parameter eingestellt werden.":print
  155. 17310 printtab(10)"und zwar:":fori=0to10:print:next:gosub 21000
  156. 17320 for i=0to 30:print:next
  157. 17330 printtab(5)"die variable":print
  158. 17350 printtab(5)"'anzahl der fische'.":print
  159. 17370 printtab(5)"diese variable wird am anfang":print
  160. 17400 printtab(5)"eines durchlaufs gesetzt und":print
  161. 17420 printtab(5)"waehrend des durchlaufs staendig":print
  162. 17450 printtab(5)"aktualisiert.":print
  163. 17470 printtab(5)"man findet ihren wert am bild-":print
  164. 17500 printtab(5)"schirm unten links."
  165. 17530 print:print:print:print:gosub 21000
  166. 17550 fori=1to30:print:next
  167. 17570 printtab(5)"'anzahl der haie' ist die":print
  168. 17600 printtab(5)"entsprechende variable fuer die":print
  169. 17630 printtab(5)"haie.":print
  170. 17650 printtab(5)"man findet sie unten rechts.":print
  171. 17670 printtab(5)"ist die anzahl der haie = 0, so":print
  172. 17680 printtab(5)"kehrt das programm in das grund-":print
  173. 17690 printtab(5)"menue zurueck, ebenso, wenn":print
  174. 17693 printtab(5)"waehrend des programmlaufs die":print
  175. 17695 printtab(5)"restore-taste gedrueckt wird."
  176. 17700 print:print:print:print:print:gosub 21000:fori=0to30:print:next
  177. 17720 printtab(5)"die variable":print
  178. 17730 printtab(5)"'vermehrung fische' gibt an,nach":print
  179. 17750 printtab(5)"wievielen jahren sich die fische":print
  180. 17770 printtab(5)"vermehren;":print
  181. 17800 printtab(5)"ob nach dem ersten, zweiten":print
  182. 17830 printtab(5)"dritten.....":print:print:print:print:print:print
  183. 17850 gosub 21000:fori=0to30:print:next
  184. 17870 printtab(5)"'vermehrung haie' erfuellt densel-":print
  185. 17900 printtab(5)"ben zweck bei den haien.":print
  186. 17920 for i=0to 10:print:next:gosub 21000
  187. 17950 print:print:print:print:print:print
  188. 17970 printtab(5)"die variable 'hunger' gibt an,":print
  189. 18000 printtab(5)"nach wievielen jahren ein hai":print
  190. 18030 printtab(5)"stirbt, wenn er in dieser zeit":print
  191. 18050 printtab(5)"keinen fisch zum fressen findet.":print
  192. 18070 printtab(5)"ob nach ein, zwei, drei.....":print
  193. 18100 printtab(5)"jahren."
  194. 18130 print:print:print:print:print:print:print
  195. 18150 gosub21000
  196. 18170 fori=1to20:print:next
  197. 18200 printtab(5)"zusaetzlich finden sie in der ":print
  198. 18230 printtab(5)"mitte oben die anzahl der zyklen,":print
  199. 18250 printtab(5)"die seit dem start dieser":print
  200. 18270 printtab(5)"kombination vergangen sind."
  201. 18300 print:print:print:print:print:print:print:print
  202. 18330 gosub 21000:fori=1to15:print:next
  203. 18350 printtab(5)"dies klingt jetzt alles":print
  204. 18370 printtab(5)"furchtbar kompliziert, und sie ":print
  205. 18400 printtab(5)"werden am anfang schwierigkeiten":print
  206. 18430 printtab(5)"haben, ein oekosystem zu entwer-":print
  207. 18450 printtab(5)"fen, das nicht schon nach wenigen":print
  208. 18470 printtab(5)"hundert jahren zusammenbricht.   ":print:print
  209. 18500 printtab(5)"druecken sie 'h' und der computer":print
  210. 18530 printtab(5)"stellt ihnen eine kombination ein,":print
  211. 18550 printtab(5)"die sicher laueft!":print
  212. 18600 gett$:ift$=""then 18600
  213. 18630 ift$<>"h"then return
  214. 18650 vh%=15:vf%=3:hu%=2:fa%=400:ha%=20:goto 10200
  215. 21000 printtab(7)"weiter mit return[146]"
  216. 21020 gett$:if t$ <> chr$(13) then 21020
  217. 21030 gett$:return
  218.